iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
1
自我挑戰組

語法改革!零基礎新手也能讀懂的JS!系列 第 21

Day21 語法改革!零基礎新手也能讀懂的JS - BOM

  • 分享至 

  • xImage
  •  

我們在前面也有講到所謂的BOM(Browser Object Model)最主要的物件就是window全域物件,而window主要是用來和瀏覽器溝通的,這期就來小小的介紹它吧!

BOM主要包含了像我們之前常用的document,也就是DOM的部分,除此之外還有很多,像是location、navigator、screen...等等

所以像先前所使用的document.querySelector其實原來的樣貌是
window.document.querySelector,但window可以省略!

window物件

瀏覽器的JS會透過全域物件(window)來存放一些全域變數以及函式,而那些全域變數會直接變成全域物件的屬性!我們可以舉個例子:

var ck = '123'
console.log(window.ck) //印出 '123'

雖然有宣告,但記得如果var是宣告在外面,沒有函式去限制它,那麼它就會是一個全域變數!

我們可以提及一下常常使用到的window屬性有哪些

location

如果我們在開發者人員工具,打上window.location會發現出現一大包東西,那其實就是在只我們當前瀏覽器目前的位置

所以我們如果要做到取出網址就可以使用.href

console.log(window.location.href)//"https://ithelp.ithome.com.tw/articles/10249981/draft"

所以當然也可以做到直接在這邊做換頁摟!

window.location.href ='https://www.google.com' //直接到google首頁

也可以使用.replace()其實與.href是一樣的效果但還是有些許的差別等等會提到

window.location.replace('https://www.google.com') //直接到google首頁

history

會記錄使用者在目前瀏覽器顯示過的頁面且會把頁面的URL存放在history裡,但其實我們是看不到的,因為有些隱私的考量,我們只能看的到切了幾次頁面。

那history也提供了我們.go()指定頁面、.forward()下一頁、.back()上一頁來使用。

window.history.go(1) 下一頁
window.history.go(-1) 上一頁
window.history..forward() 下一頁
window.history.back() 上一頁

那其實window物件還有很多屬性可以使用,今天就先介紹到這邊,大家明天見!


上一篇
Day20 語法改革!零基礎新手也能讀懂的JS - 節點樣式修改
下一篇
Day22 語法改革!零基礎新手也能讀懂的JS - 事件冒泡與捕獲
系列文
語法改革!零基礎新手也能讀懂的JS!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言